﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ED_Nivelacion.Negocios;
using ED_Nivelacion.Negocios.Catalogos;


namespace ED_Nivelacion.PresentacionWeb
{
    public partial class frm_Heterovaluacion : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

            if (Session["tipoUsuario"] != null)
            {
                if (Session["tipoUsuario"].ToString() != "Estudiante")
                {
                    if (Session["tipoUsuario"].ToString() == "Docente")
                    {
                        Response.Redirect("frm_InicioDocente.aspx");
                    }
                    else if (Session["tipoUsuario"].ToString() == "Coordinador")
                    {
                        Response.Redirect("frm_InicioCoordinador.aspx");
                    }
                    else if (Session["tipoUsuario"].ToString() == "Administrador")
                    {
                        Response.Redirect("frm_Inicio.aspx");
                    }
                    else if (Session["tipoUsuario"].ToString() == "Tutor")
                    {
                        Response.Redirect("frm_InicioTutor.aspx");
                    }
                }
            }
            else
            {
                Response.Redirect("frm_Login.aspx");
            }
        }

        [System.Web.Services.WebMethod(true)]
        public static string comprobacionPreguntas(string _tipoUsuario, string _alumno, string _idPeriodo, string paralelo)
        {
            try
            {
                int Preguntas = 0;
                int periodo = int.Parse(_idPeriodo);
                int idalumno = int.Parse(_alumno);
                ED_Nivelacion.Negocios.DistribucionAcademica_C _objDAcademica_C = new ED_Nivelacion.Negocios.DistribucionAcademica_C();

                ED_Nivelacion.Negocios.Preguntas_C _objPreguntas_C = new ED_Nivelacion.Negocios.Preguntas_C();

                var DistribucionAcademica = _objDAcademica_C.FiltrarDistribucionAcademicaParalelo(int.Parse(paralelo.ToString()));


                var resultCriterios = new CriterioEvaluacion_C().FiltrarCriterios(_tipoUsuario.ToString());


                foreach (var item in resultCriterios)
                {
                    Preguntas = Preguntas + _objPreguntas_C.FiltrarPreguntas(item.idCriterio_Evaluacion, _tipoUsuario.ToString()).Count();

                }
                
                int totalPreguntas = DistribucionAcademica.Count * resultCriterios.Count * Preguntas;

                int nroRespuestas = new Heteroevaluacion_C().contarRespuestas(idalumno,periodo);
                if (totalPreguntas == nroRespuestas)
                {
                    return "ok";    
                }
                else
                {
                    return "error";
                }
                
            }
            catch (Exception)
            {

                return "error";
            }

        }
    }
}